﻿using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using Medianamik.UI.Web.MVP.View;
using Medianamik.UI.Web.Shop.Data.Dto;
using Medianamik.UI.Web.Shop.Data.Interfaces;
using Medianamik.UI.Web.Shop.Services;

namespace Medianamik.UI.Web.Shop
{
    public interface IOrderEdit<TOrder, TClientProfile, TOrderItem, TAddress> : IModuleView
        where TClientProfile : IClientProfile
        where TOrder : IOrder<TOrderItem>
        where TOrderItem : IOrderItem
        where TAddress : IAddress
    {
        TOrder Order { set; }
        TClientProfile ClientProfile { set; }
        string PaymentState { set; }
        string DeliveryState { set; }
        TAddress PaymentAddress { set; }
        TAddress DeliveryAddress { set; }
        IEnumerable<TaxDTO> Taxes { set; }
        IEnumerable<TOrderItem> OrderItems { set; }
        ShippingDTO Shipping { set; }
        string Notes { get; set; }
        DateTime? ShippedDate { get; set; }
        String ReturnUrl { get; }
        LinkButton SaveButton { get; }
        HyperLink CancelButton { get; }
    }
}
